<?php

namespace app\service;

use app\models\tableModel\NewsCategoryModel;
use app\models\tableModel\PositionDataModel;
use yii\console\Exception;

/**
 * 模板标签实现类
 * Class TempTagService
 * @package app\models
 */
final class TempTagService extends BaseService
{

    /**
     * 新闻分类列表
     */
    public static function newsCateList()
    {

        // 字段1
        $field = [
            'id',
            'title',
            'parent_id',
            'level',
            'status',
            'description',
            'open_seo',
            'seo_title',
            'seo_keywords',
            'seo_description',
            'url_type',
            'url',
            'extra_data'
        ];

        // 父级别[model]
        $model = NewsCategoryModel::loadModel();

        // 数据列表
        $list = $model->loadWhere([
            'status' => $model::getStatusOpen()
        ])->getPaginate(1, 999999, $field, [
            'loadChild' => true,
            'parentId' => 0,
            'loadChildIds' => true,
            'loadHasChild' => true
        ]);

        return $list->getList();
    }

    /**
     * 推荐位附加数据数据列表
     * @param $positionId int|string 推荐位主编号
     * @return array|\yii\db\ActiveRecord[]
     * @throws Exception
     */
    public static function positionDataList($positionId)
    {

        // 字段1
        $field = [
            'data'
        ];

        // 父级别[model]
        $model = PositionDataModel::loadModel();

        // 数据列表
        $list = $model->loadWhere([
            'pos_id' => $positionId
        ])->getPaginate(1, 999999, $field);

        return array_column($list->getList(), 'data');
    }
}
